import { parseTime } from '@/filters'

export const USER_CONFIG = {
  gridConfig: [
    {
      label: '#',
      prop: 'id',
      width: 80,
      align: 'center',
      resizable: false,
      sortable: true
    },
    {
      label: '用户名',
      prop: 'name',
      resizable: false
    },
    {
      label: '手机号',
      prop: 'mobile',
      resizable: false,
      align: 'right'
    },
    {
      label: '角色',
      prop: 'roles',
      align: 'right',
      render: (h, params) => {
        var arr = params.row.roles
        return arr.map((item, index) => {
          return h(
            'el-tag',
            {
              props: {
                size: 'mini',
                type: 'warning'
              }
            },
            item
          )
        })
      }
    },
    {
      label: '状态',
      prop: 'status',
      align: 'right',
      render: (h, params) => {
        if (params.row.status === '0') {
          return h(
            'el-tag',
            {
              props: {
                size: 'mini',
                type: 'warning'
              }
            },
            '正常'
          )
        } else {
          return h(
            'el-tag',
            {
              props: {
                size: 'mini',
                type: 'success'
              }
            },
            '禁用'
          )
        }
      }
    },
    {
      label: '注册时间',
      prop: 'created_at',
      align: 'right',
      filter: parseTime
    }
  ],
  // crud的模态框表单配置，可配置表单类型，验证规则，是否必填,col-span布局可通过span参数配置
  formConfig: [
    {
      span: 12,
      label: '手机号',
      prop: 'mobile',
      type: 'text'
    },
    {
      span: 12,
      label: '用户名',
      prop: 'username',
      type: 'text'
    },
    {
      span: 12,
      label: '邮箱',
      prop: 'email',
      type: 'text'
    },
    {
      span: 12,
      label: '角色',
      prop: 'roleIdList',
      type: 'checkbox',
      data: [
        {
          name: '角色一',
          id: '1'
        },
        {
          name: '角色二',
          id: '2'
        }
      ],
      rules: {
        type: 'array',
        required: true,
        message: '请选择角色',
        trigger: 'change'
      }
    },
    {
      span: 12,
      label: '状态',
      prop: 'status',
      type: 'radio',
      data: [
        {
          name: '正常',
          id: 1
        },
        {
          name: '禁用',
          id: 0
        }
      ],
      rules: {
        required: true,
        message: '请选择角色状态',
        trigger: 'change'
      }
    }
  ],
  // crud的模态框表单配置，可配置表单类型，验证规则，是否必填,col-span布局可通过span参数配置
  filterConfig: [
    {
      label: '手机号',
      prop: 'mobile',
      type: 'text'
    },
    {
      label: '角色',
      prop: 'roleIdList',
      type: 'select',
      multiple: true,
      data: [
        {
          name: '财务',
          id: 'accountant'
        },
        {
          name: '管理员',
          id: 'admin'
        },
        {
          name: '客服',
          id: 'csr'
        },
        {
          name: '商城管理员',
          id: 'shop'
        },
        {
          name: '店铺管理员',
          id: 'store'
        }
      ]
    }
  ],
  // crud的操作按钮配置，基础按钮有添加、修改、删除、查看，还可以配置扩展按钮
  gridBtnConfig: {
    create: true,
    update: true,
    delete: true,
    view: false,
    expands: [
      {
        name: '授权',
        emitName: 'assign',
        type: 'primary'
      }
    ]
  },
  // 表单基础数据类型，需要预先赋值
  formModel: {
    id: '',
    mobile: '',
    username: '',
    email: '',
    status: '',
    expand: '',
    roleIdList: []
  },
  // crud的操作按钮配置，基础按钮有添加、修改、删除、查看，还可以配置扩展按钮
  gridHandles: [
    {
      name: '查看',
      emitName: 'view'
    },
    {
      name: 'assign',
      emitName: 'assign'
    }
  ]
}
